| API Documentation |  |

- MAIN PAGE
- NAMESPACES
- CLASSES

Classes | Public Member Functions | Static Public Member Functions | List of all members
nkWinUi::ComboBox Class Reference

A graphical combo box. More...

Inheritance diagram for nkWinUi::ComboBox:

## Classes
class | Entry
| Represents an entry within the combo box. More...

## Public Member Functions
| ComboBox (System *system) noexcept
| ComboBox (const ComboBox &)=delete
virtual | ~ComboBox ()
std::function< void(ComboBox *)> | getSelectionCallback () const
Entry * | getEntryPerLabel (nkMemory::StringView label) const
Entry * | getEntryPerData (void *data) const
virtual Entry * | getCurrentSelection () const
void | setSelectionCallback (std::function< void(ComboBox *)> value)
void | setSelectedEntryPerLabel (nkMemory::StringView label)
void | setSelectedEntryPerData (void *data)
virtual void | setSelectedEntry (Entry *selected)
virtual Entry * | insertEntry (nkMemory::StringView label, void *data)
void | setEntryData (nkMemory::StringView label, void *newData)
virtual void * | deleteEntry (nkMemory::StringView label)
virtual void | clearEntries ()
virtual void | exportIntrospection (nkExport::Node *rootNode) override
virtual void | importClassFromTree (nkExport::Node *rootNode) override
ComboBox & | operator= (const ComboBox &)=delete
Public Member Functions inherited from nkWinUi::Component
| Component (System *system) noexcept
virtual | ~Component ()
Layout * | getLayout () const
Theme * | getTheme () const
Font * | getFont () const
nkMaths::Point | getPositionInParent () const
nkMaths::Point | getPositionInScreen () const
float | getWidth () const
float | getHeight () const
nkMaths::Rectangle | getAreaInParent () const
nkMaths::Rectangle | getAreaInScreen () const
virtual nkMaths::Point | getBorderExtents () const
virtual float | getBorderExtent (BORDER_KIND border) const
virtual float | getLayoutAllowedWidth () const
virtual float | getLayoutAllowedHeight () const
virtual float | getLayoutAllowedOffsetX () const
virtual float | getLayoutAllowedOffsetY () const
bool | isInitialized () const
System * | getSystem () const
Component * | getParentComponent () const
COMPONENT_TYPE | getComponentType () const
nkMemory::StringView | getComponentName () const
bool | getVisibility () const
virtual nkMemory::StringView | getLabel () const
void * | getData () const
bool | isEnabled () const
bool | isForegroundWindow () const
virtual unsigned int | getZDepth () const
bool | getVisibleOnLoad () const
std::function< bool(Component *)> | getCloseCallback () const
std::function< void(Component *, bool)> | getVisibilityCallback () const
std::function< void(Component *, const ClickEventData &)> | getClickCallback () const
std::function< void(Component *, const WheelEventData &)> | getWheelCallback () const
std::function< void(Component *, const KeyEventData &)> | getKeyCallback () const
virtual Layout * | setLayout (LAYOUT_TYPE layoutType)
virtual void | setTheme (Theme *theme)
virtual void | setFont (Font *font)
virtual void | setPositionInParent (nkMaths::Point position)
virtual void | setPositionInScreen (nkMaths::Point position)
virtual void | setSize (float width, float height)
virtual void | setWidth (float width)
virtual void | setHeight (float height)
void | setMinSize (float width, float height)
void | setMaxSize (float width, float height)
void | setRatio (float widthOverHeight)
virtual void | setAreaInParent (const nkMaths::Rectangle &area)
virtual void | setAreaInScreen (const nkMaths::Rectangle &area)
virtual void | setParentComponent (Component *parent, bool makeItVisible=true)
virtual void | setLabel (nkMemory::StringView label)
void | setComponentName (nkMemory::StringView name)
virtual void | setVisibility (bool value)
void | setData (void *data)
void | setEnabled (bool value)
void | setVisibleOnLoad (bool value)
void | setCloseCallback (std::function< bool(Component *caller)> callback)
void | setVisibilityCallback (std::function< void(Component *caller, bool visibility)> callback)
void | setClickCallback (std::function< void(Component *caller, const ClickEventData &eventData)> callback)
void | setWheelCallback (std::function< void(Component *caller, const WheelEventData &eventData)> callback)
void | setKeyCallback (std::function< void(Component *caller, const KeyEventData &eventData)> callback)
void | addChild (Component *child, bool makeItVisible=true)
void | removeChild (Component *child)
void | removeChild (unsigned int index)
Component * | getChild (unsigned int index)
unsigned int | getChildIndex (Component *child)
void | unloadWithChildren ()
void | loadWithChildren ()
void | updateZDepth ()
void | bringToForeground ()
void | focusWindow ()
nkMaths::Point | getCoordRelativeFromAbsolute (nkMaths::Point absCoords)
nkMaths::Point | getCoordAbsoluteFromRelative (nkMaths::Point relCoords)
virtual void | load ()=0
virtual void | unload ()=0
void | reload ()
virtual void | updateWindow ()
nkImages::Image | paintToImage (bool withFrame=false)
void | simulateEvent (const InputDescriptor &inputDescription)
virtual void | onSized ()
virtual void | exportClassToTree (nkExport::Node *rootNode) override
Public Member Functions inherited from nkExport::Exportable
| Exportable () noexcept
virtual | ~Exportable ()

## Static Public Member Functions
static nkMemory::UniquePtr< ComboBox > | create (System *system=nullptr)

## Detailed Description

A graphical combo box.

## Constructor & Destructor Documentation

## ◆ ComboBox() [1/2]

nkWinUi::ComboBox::ComboBox | ( | System * | system | ) |
| noexcept

Constructor.

Parameters

  system | The parent system in which the component will live.

Remarks
  See ComponentManager::createOrRetrieve().

## ◆ ComboBox() [2/2]

nkWinUi::ComboBox::ComboBox | ( | const ComboBox & |  | ) |
| delete

Copy constructor.

## ◆ ~ComboBox()

virtual nkWinUi::ComboBox::~ComboBox | ( |  | ) |
| virtual

Destructor.

## Member Function Documentation

## ◆ getSelectionCallback()

std::function<void (ComboBox*)> nkWinUi::ComboBox::getSelectionCallback | ( |  | ) | const

Returns
  The used callback for selection change events.

## ◆ getEntryPerLabel()

Entry* nkWinUi::ComboBox::getEntryPerLabel | ( | nkMemory::StringView | label | ) | const

Parameters

  label | The label of the entry that needs to be obtained.

Returns
  The entry featuring the label requested if available, nullptr else.

## ◆ getEntryPerData()

Entry* nkWinUi::ComboBox::getEntryPerData | ( | void * | data | ) | const

Returns the entry in the combo box that has the data provided attached.

Parameters

  data | The data pointer the entry requested should have.

Returns
  The entry featuring the user data requested if available, nullptr else.

## ◆ getCurrentSelection()

virtual Entry* nkWinUi::ComboBox::getCurrentSelection | ( |  | ) | const
| virtual

Returns
  The currently selected entry, if any. Else, nullptr.

## ◆ setSelectionCallback()

void nkWinUi::ComboBox::setSelectionCallback | ( | std::function< void(ComboBox *)> | value | ) |

Sets the callback used when the selection inside the combo box changes.

Parameters

  value | The callback to use. The argument will be the calling combo box.

## ◆ setSelectedEntryPerLabel()

void nkWinUi::ComboBox::setSelectedEntryPerLabel | ( | nkMemory::StringView | label | ) |

Sets the selected entry, using the label.

Parameters

  label | The label to find the entry to select.

## ◆ setSelectedEntryPerData()

void nkWinUi::ComboBox::setSelectedEntryPerData | ( | void * | data | ) |

Sets the selected entry, using the data that should be attached to it.

Parameters

  data | The data to find the entry to select.

## ◆ setSelectedEntry()

virtual void nkWinUi::ComboBox::setSelectedEntry | ( | Entry * | selected | ) |
| virtual

Sets the selected entry.

Parameters

  selected | The entry to select.

## ◆ insertEntry()

virtual Entry* nkWinUi::ComboBox::insertEntry | ( | nkMemory::StringView | label,
|  | void * | data
| ) |  |
| virtual

Inserts a new entry within the combo box.

Parameters

  label | The label the entry should have.
  data | The user data to attach to the entry.

Returns
  The entry freshly created.

Remarks
  The component is the owner of the entry returned. The entry is not responsible for the user data memory.

## ◆ setEntryData()

void nkWinUi::ComboBox::setEntryData | ( | nkMemory::StringView | label,
|  | void * | newData
| ) |  |

Overrides the user data attached to an entry.

Parameters

  label | The label to find back the entry requested.
  newData | The user data to attach to the entry.

## ◆ deleteEntry()

virtual void* nkWinUi::ComboBox::deleteEntry | ( | nkMemory::StringView | label | ) |
| virtual

Erases an entry. Entry memory will be freed.

Parameters

  label | the label to find back the entry requested.

## ◆ clearEntries()

virtual void nkWinUi::ComboBox::clearEntries | ( |  | ) |
| virtual

Clear all entries from the combo box. Entries memory will be freed.

## ◆ exportIntrospection()

virtual void nkWinUi::ComboBox::exportIntrospection | ( | nkExport::Node * | rootNode | ) |
| override virtual

A basic exporting capability, for components inheriting. Components inheriting this class should rather reimplement this function to export their internal data.

Parameters

  rootNode | The root of the tree to export into.

Reimplemented from nkWinUi::Component.

## ◆ importClassFromTree()

virtual void nkWinUi::ComboBox::importClassFromTree | ( | nkExport::Node * | rootNode | ) |
| override virtual

A basic importing capability.

Parameters

  rootNode | The root of the tree to import from.

Reimplemented from nkWinUi::Component.

## ◆ operator=()

ComboBox& nkWinUi::ComboBox::operator= | ( | const ComboBox & |  | ) |
| delete

Copy assignment operator.

## ◆ create()

static nkMemory::UniquePtr<ComboBox> nkWinUi::ComboBox::create | ( | System * | system = `nullptr` | ) |
| static

Creates a standalone component, linking it to a system, but no manager. This method can be used to allocate a component and manually manage its lifetime.

Parameters

  system | The system to create the component into. If left to nullptr, then the Singleton instance will be used.

Returns
  The created component instance.

The documentation for this class was generated from the following file:

- Documentation/Headers/NilkinsWinUi/Components/ComboBox.h